草庐IT

JavaScript key 处理和浏览器兼容性

全部标签

javascript - 您如何在浏览器中模拟文件选择器以进行单元测试?

我对如何在浏览器中全局模拟文件选择器感兴趣。具体来说,我最感兴趣的是在Firefox中执行此操作,但更喜欢通用解决方案。我只关心防止文件选择器对话框出现。我不需要能够断言它确实打开了。问题是我对打开文件选择器的JavaScript代码进行了单元测试。当对话框打开时,它停止执行测试套件。一个示例情况是我正在测试Backbone.View的onRender方法。该方法呈现一个subview,它将在呈现时打开文件选择器。由于我没有直接测试该subview,所以当我只对onRender方法的其他部分进行单元测试时,我宁愿不模拟它的部分行为。例子://Testfileit("shoulddoso

javascript - 图像上传部分中的跨浏览器图像预览在 ie8 中不起作用

我网站上传图像部分的图像预览在IE8+浏览器中不工作。但在IE7和IE6中工作正常。我正在使用下面的代码来实现图像预览功能。JS:varloadImageFile=(function(){if(window.FileReader){varoPreviewImg=null,oFReader=newwindow.FileReader(),rFilter=/^(?:image\/bmp|image\/cis\-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\

javascript - 如何在 Jasmine 测试框架中处理谷歌地图事件

我正在尝试使用jasmine框架为Googlemap编写Javascript测试。我想要做的是启动map并更改边界(缩小)并测试map是否已正确缩小。我遇到的问题是jasmine好像没有办法处理事件。Jasmine有一个spyOn()方法,可以查找方法(不是事件)的用法。jasmine中还有waits()方法可以等待特定的时间。这些方法都不适用于处理事件。有人对Jasmine的事件有任何经验吗?我正在使用的代码:describe('Mapview',function(){beforeEach(function(){$('body').append("");this.view=newMa

javascript - 使用 Selenium RC 捕获浏览器

我想使用像BrowserStack这样的浏览器农场来运行UI测试。我们目前正在使用BS通过JsTestDriver运行单元测试。所以启动服务器,让browserfarm创建的一堆浏览器连接到jstd服务器,然后执行测试。不幸的是,我无法找到一种方法来编写与jstd一起工作的UI测试(单击某个按钮、输入内容等)。SeleniumRC是一个旨在进行UI测试的框架,但它强制使用自己的浏览器实例:Selenium通过作为框架一部分的驱动程序启动自己的浏览器。我想要的是将JsTestDriver概念与Selenium的UI测试相结合:使用Selenium编写测试,在本地主机上启动Selenium

javascript - Spine.js - 如何使用 JavaScript 从模型实例中解除特定事件处理程序的绑定(bind)?

从模型类中解除绑定(bind)特定的事件处理程序非常容易,但似乎从模型实例中解除绑定(bind)事件处理程序的唯一方法是使用unbind()(不接受任何参数)。对于模型实例,是否有等效于模型类的unbind([eventName,function])函数,或者是否有另一种更好的方法来解除绑定(bind)特定的处理程序而不解除它们的绑定(bind)?我已经查看了Spine.jsdocumentation但到目前为止还没有运气。向unbind()函数添加参数没有任何效果-它只是忽略它们并解除绑定(bind)。 最佳答案 最后我们换了一个

javascript - 处理多个 requirejs 上下文之间的共同依赖关系的做法?

我已经开始使用requirejs上下文来划分大型单页应用程序,该应用程序由具有自己的一组依赖项的独立SPA组成。JamesBurke在github上的评论中描述了我现在遇到的关于多个上下文及其公共(public)依赖项未共享的问题,https://github.com/aurajs/aura/pull/170#issuecomment-10973485如何在不同的requirejs上下文之间共享共同的依赖关系,而不会导致对同一文件的重复请求? 最佳答案 我遇到了和你描述的一样的问题。我写了一个插件,负责在嵌套上下文之间共享共同的依赖

javascript - 处理滚动条和 jquery .width() 方法

jQuery的.width()方法似乎没有考虑滚动条。这对我来说是有问题的,因为我想将一些child的宽度设置为等于他们parent的宽度。我使用了类似于以下的jQuery:$('#contentDiv').width($('#containerDiv').width())在这个例子中,#contentDiv是我想要调整大小的元素,我想将它设置为具有#containerDiv的宽度,这是它的父元素。我的问题是这切断了#contentDiv的一侧,如thisfiddle.中所示在我的实际代码中,我有几个使用jQuery调整大小的元素,它们都需要适合可滚动的div,所以只需将#conten

javascript - .net WebApi OData + breeze => [Q] 未处理的拒绝原因(应为空)

我有一个带有ODataEntitySetController的.net4.5WebApi在客户端我加载了以下js文件jquery.min.jsq.min.jsdatajs-1.1.1.min.jsbreeze.debug.jstoastr.min.jsangular.js当我调用以下javascript时breeze.config.initializeAdapterInstance("dataService","OData");varmanager=newbreeze.EntityManager(serviceName);varquery=breeze.EntityQuery.from

javascript - window.onerror 和 try-catch block 处理错误的区别

我正在考虑使用window.onerror与try{...}catch(e){...}block来处理JavaScript运行时错误。https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers.onerror状态:Notethatsome/manyerroreventsdonottriggerwindow.onerror,youhavetolistenforthemspecifically.看来window.onerror和try{...}catch(e){...}都可以处理ReferenceError:ht

javascript - 如何检测浏览器内部 JavaScript 错误?

我们目前正在记录所有JavaScript错误。但是,有些错误似乎与浏览器内部(插件等)有关。就像这个:Error:ErrorcallingmethodonNPObject!Line:0Script:http://www.lookr.com/lookout/1329030315-Giglio-Porto如何忽略那些浏览器内部的、非直接与网站相关的错误?忽略第0行的所有错误似乎也不合适,因为内联JavaScript错误也将被忽略(这是不希望的)提前感谢您的建议。 最佳答案 这是您可以获得的最接近的值(onerror)window.one